package com.lkm.app_ui.m.fun;


import com.lkm.app_ui.m.vip.VipInfo;
import com.lkm.frame.task2.Task;
import com.lkm.market2_0.m.steelyarddata.OrderEntity;

import androidx.annotation.IntDef;


public interface DelegatePayTask extends Task<DelegatePayTask.DelegatePayTaskP, DelegatePayTask.DelegatePayTaskPR, Boolean> {

    public static final int PayType_none           = 0;
    public static final int PayType_WVip           = 1;
    public static final int PayType_Vip            = 2;
    public static final int PayType_Delegate       = 3;
    public static final int PayType_Money          = 4;
    public static final int PayType_PayCode        = 5;
    public static final int PayType_VipMoney       = 6;
    public static final int PayType_VipDelegate    = 7;
    public static final int PayType_StaticDelegate = 8;


    @IntDef(value = {PayType_none, PayType_WVip, PayType_Vip, PayType_Delegate, PayType_Money, PayType_PayCode, PayType_VipMoney, PayType_VipDelegate, PayType_StaticDelegate})
    public @interface PayType {
    }


    public static class DelegatePayTaskP {


        public final String payCode;

        @PayType
        public final int payType;


        public final OrderEntity orderEntity;

        public final VipInfo vipInfo;

        public DelegatePayTaskP(String payCode, OrderEntity orderEntity, @PayType int payType, VipInfo vipInfo) {
            this.payCode = payCode;
            this.orderEntity = orderEntity;
            this.payType = payType;
            this.vipInfo = vipInfo;
        }
    }

    public static class DelegatePayTaskPR {


        public static final int step_requestFail = -1;


        public static final int step_content = 1;

        public static final int step_paySuccess = 2;

        public static final int step_payFail = 3;


        public int type;


        public String url;


        public String payment_amount;


        public String msg;


        public int step;


        public String payInfo;

    }


}
